package com.lsp.microorder.pay.service;


import com.lsp.microorder.pay.param.PayParam;
import com.lsp.microorder.pay.param.PayResultParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.function.Consumer;

/**
 * 生成支付的交易订单
 * 进行回调处理
 */
public interface PayService {
//    创建交易订单
    String createPayOrder(PayParam param);
//   支付回调后需要进行的操作
    void notify(HttpServletRequest request, HttpServletResponse response, Consumer<PayResultParam> consumer);
//   根据业务订单号，查询交易订单的状态
    String payStates(String orderNo);
//    根据业务订单号，关闭交易订单
    void closePay(String orderNo);
//    同步调用，目的是为了做验签
    void returnNotify(HttpServletRequest request, HttpServletResponse response);
}
